// 云函数入口文件
const cloud = require('wx-server-sdk')
// 因为创建小程序的云函数的数量有限，所以不能创建过多的云函数，所以我们可以安装tcb-router这个包，他可以实现在一个云函数中根据callfunction传进来的$url实现对应的功能
const TcbRouter = require('tcb-router')
const rp = require('request-promise')
cloud.init()
const BASE_URL = 'http://musicapi.leanapp.cn'
// 云函数入口函数
// event 实际上就是callFunction方法里面的data对象，所以可以通过event拿到那边传过来的值
exports.main = async (event, context) => {
  const app = new TcbRouter({ event });
  // playList是callFunction的$url
  app.router('playList',async(ctx, next) => {
    ctx.body = await cloud.database().collection('playlist')
    .skip(event.start)
    .limit(event.count)
    // desc代表降序
    .orderBy('createTime', 'desc')
    .get()
    .then((res) => {
      return res
    })
  })

  app.router('musicList', async(ctx,next) => {
    ctx.body = await rp(BASE_URL + '/playlist/detail?id=' + event.id).then(res => {
      return JSON.parse(res)
    })
  })

  // app.router('lyric', async(ctx,next) => {
  //   ctx.body = await rp('http://localhost:3000/lyric?id='+event.id).then(res => {
  //     return res
  //   })
  // })

  return app.serve(); // 这一步是必须的
}